@Article{FranciscoMeGoPeGuMe:2023:SoViAp,
author = "Francisco, Phyllipe de Souza Lima and Melegati, Jorge and Gomes,
Everaldo and Pereira, Nathalya Stefhany and Guerra, Eduardo and
Meirelles, Paulo",
affiliation = "{Instituto Nacional de Pesquisas Espaciais (INPE)} and {Free
University of Bolzano-Bolzen} and {Universidade Federal do ABC
(UFABC)} and {Instituto Nacional de Telecomunica{\c{c}}{\~o}es
(INATEL)} and {Free University of Bolzano-Bolzen} and
{Universidade Federal do ABC (UFABC)}",
title = "CADV: A software visualization approach for code annotations
distribution",
journal = "Information and Software Technology",
year = "2023",
volume = "154",
pages = "e107089",
month = "Feb.",
keywords = "Code annotations, Circle packing, Empirical evaluation, Software
visualization.",
abstract = "Context: Code annotations is a widely used feature in Java systems
to configure custom metadata on programming elements. Their
increasing presence creates the need for approaches to assess and
comprehend their usage and distribution. In this context, software
visualization has been studied and researched to improve program
comprehension in different aspects.Objectives: This study aimed at
designing a software visualization approach that graphically
displays how code annotations are distributed and organized in a
software system and developing a tool, as a reference
implementation of the approach, to generate views and interact
with users.Methods: We conducted an empirical evaluation through
questionnaires and interviews to evaluate our visualization
approach considering four aspects: (i) effectiveness for program
comprehension, (ii) perceived usefulness, (iv) perceived ease of
use, and (iv) suitability for the intended audience. The resulting
data was used to perform a qualitative and quantitative
analysis.Results: The tool identifies package responsibilities
providing visual information about their annotations at different
levels. Using the developed tool, the participants achieved a high
correctness rate in the program comprehension tasks and performed
very well in questions about the overview of the system under
analysis. Finally, participants perceived that the tool is
suitable to visualize the distribution of code
annotations.Conclusions: The results show that the visualization
approach using the developed tool is effective in program
comprehension tasks related to code annotations, which can also be
used to identify responsibilities in the application packages.
Moreover, it was evaluated as suitable for newcomers to overview
the usage of annotations in the system and for architects to
perform a deep analysis that can potentially detect misplaced
annotations and abnormal growths on their usage.",
doi = "10.1016/j.infsof.2022.107089",
url = "http://dx.doi.org/10.1016/j.infsof.2022.107089",
issn = "0950-5849",
language = "en",
targetfile = "1-s2.0-S0950584922001987-main.pdf",
urlaccessdate = "2024, Apr. 27"
}